ECS サービス作成後にネットワーク設定を変更する方法を教えてください
困っていた内容
ローリングアップデートを設定した ECS サービスで、Fargate タスクを実行しています。
ECS サービスのネットワーク設定を変更したいのですが、マネジメントコンソールで変更方法が確認できません。
変更方法を教えてください。
どう対応すればいいの?
AWS CLI のupdate-serviceを実行してください。
$ aws ecs update-service \ --cluster 【ECS クラスター名】 \ --service 【ECS サービス名】 \ --network-configuratio "awsvpcConfiguration={subnets=[【サブネット ID】],securityGroups=[【セキュリティグループ ID】],assignPublicIp=【DISABLED/ENABLED】}" # 指定例 $ aws ecs update-service \ --cluster hato-cluster \ --service hato-service \ --network-configuratio "awsvpcConfiguration={subnets=[subnet-0ffb4ae4952d4fce7,subnet-032692e9def4f1d0f],securityGroups=[sg-0b5272d16be99ee59],assignPublicIp=ENABLED}"
2024年5月時点で、AWS マネジメントコンソールからは ECS サービスのネットワーク設定は変更できません。
一方で、AWS CLI や API、SDK 等からは作成後にネットワーク設定を変更でき、AWS CLI の場合はupdate-serviceで変更可能です。
そのため、サブネットやセキュリティグループ、パブリック IP の自動割当等のネットワーク設定を変更したい場合は、マネジメントコンソールではなく AWS CLI 等からの変更をお試しください。
なお、AWS ではマネジメントコンソールから AWS CLI などのコマンドが実行できるブラウザーベースのシェル環境が用意されています。適宜ご利用ください。
- AWS CloudShell とは? - AWS CloudShell
- 東京リージョンでAWS CloudShellを使ってみた | DevelopersIO
- AWSのCLI作業はどこで行う? 安全に管理するパターンとメリデメ集 | DevelopersIO
参考資料
次のいずれかのパラメータを使用するサービスを更新するには、AWS Command Line Interface を使用する必要があります。
- Blue/Green デプロイ
- サービス検出 – サービス検出では、設定内容のみを表示できます。
- カスタムメトリクスによるトラッキングポリシー
- サービスを更新 – awsvpc のネットワーク設定とヘルスチェックの猶予期間は更新できません。